1. Field of the Invention
The present invention relates to a method for monitoring a network, particularly data or communication network, where the network includes a plurality of units to be monitored, and where relevant states of these monitored units are controlled with respect to functionality, efficiency and/or security by means of provided information elements called managed objects at the monitored units, that reflect states to be monitored, and that are read and/or written by a network management system using a predetermined network management protocol.
2. Description of the Related Art
Facing complexity and size of today's data and telecommunication networks, the importance of effective network management, particularly of effective network monitoring, is becoming increasingly higher. For network management, many of today's data and telecommunication networks use a network management system (NMS) that communicates with a number of monitored units (MU's) in the network. Monitored units are devices of any kind, i.e. server, hosts, routers, etc. For communication between NMS and MU, in general, standardized network management protocols may be used, as for example Simple Network Management Protocol (SNMP) that is common in IP (Internet Protocol) -based networks and the Common Management Information Protocol (CMIP) that is common in telecommunication networks.
As part of its network monitoring activities, the NMS reads or writes managed objects (MO's) at the monitored units and in turn the monitored units send notifications back to the NMS. A monitored unit MO is an information unit with clearly defined semantics, that is implemented as a passive memory cell at a MU and that directly corresponds to the MU. A managed object MO may be for example a counter, a string of text characters, or something else of this kind, which can indicate, for example, the current status of a communication link connected to the corresponding MU. By reading managed objects MO's from a particular managed unit, the NMS can retrieve information about the current status of the monitored unit at which the MO's are implemented, for example on the status of a communication link. By writing to particular MO's, the NMS can change status or configuration of a MU, for example by setting the status of a communication link to ‘inactive.’
In order to achieve interoperability between NMS and monitored units of different manufacturers, MO's are standardized, for example in recommendations of the International Telecommunications Union (ITU) and in Requests for Comments (RFC's) of the Internet Engineering Task Force (IETF). In these standard documents, MO's are defined in a way that a NMS can receive sufficient and appropriately detailed information on the managed units. For example, there is a monitored object MO indicating the link status for each link connected to the managed unit.
Monitoring communication networks in operation includes regularly checking network status and configuration. For this purpose, a pre-definable number of MO's must be read from each managed unit MU, where always the most current value must be read from the MU. For each of these MO's, an operation is required that checks whether or not the value of the individual MO—representing a relevant status with respect to functionality, efficiency and/or security of the network—or a combination of this value with values of other MO's is within acceptable limits for normal operations. If one of the values exceeds the limit, then the NMS must become active in order to return to normal operations. A set of all operations for checking whether or not all values of MO's in a MU are within the acceptable limits for normal operations is called ‘health check.’
In this context, it is problematic that checking all relevant MO's at all monitored units can cause scalability problems in the case where the number of monitored units becomes too large. The total number of MO's to be monitored is the product of the number of monitored units and the average number of MO's selected per monitored unit. A NMS has a limit for this total number; if the limit is exceeded, a network cannot be monitored in a sufficient way. Hence, for a fixed number of MO's to be monitored per monitored unit, the number of units to be monitored is limited.
A known approach to avoiding this problem is the reduction of MO's to be monitored per MU based on programmability of monitored units, which allows a NMS to load programs on monitored units. Such a program performs a ‘health check’ locally at a MU, either for the respective MU only or also for a limited number of further monitored units. This approach is called “Management by Delegation (MbD).” See German Goldszmidt and Yechiam Yemini “Distributed Management by Delegation” (In proceedings of the 15th International Conference on Distributed Computing Systems, June 1995).
Three technologies realizing the approach of Management by Delegation have been studied, implemented and standardized.
The ITU has developed the so-called Command Sequencer for telecommunication networks, which is documented in ITU-T recommendation X.753. The Command Sequencer allows loading complex programs on monitored units, provided that the programs are to be written in a specific programming language that is part of the standard.
The IETF has standardized a more flexible technology called Script MIB that is documented in IETF RFC 3165. It allows loading of in arbitrary programming languages and for arbitrary runtime environments, as far as they are supported by the respective MU.
The IETF also has developed a simpler and functionally more restricted technology called Expression MIB that is documented in IETF RFC 2982. The Expression MIB allows a NMS to create simple expressions consisting of operations on MO's. These expressions can be used recursively for creating more complex expressions, for example a complete health check of a MU.
The above-described method based on Management by Delegation can reduce the number of MO's to be read, but at the same time, it has several drawbacks.
First, the manufacturing costs increase, because all monitored units must be extended by a program loader and a runtime environment for loaded programs. Furthermore, the complexity of the entire NMS increases, since programs for the local ‘health check’ must be provided in programming languages or for runtime environments that are available at the monitored units. Hence, several software components in different programming languages and/or for different runtime systems need to be developed and maintained.
Second, security problems arise such that an unauthorized person or system may load and start harmful programs. Accordingly, loading of arbitrary programs must be strictly controlled. Several security mechanisms are required for this, leading again to an increase of cost and complexity. More specifically, loading of programs on monitored units must be restricted and controlled. Access of running programs to MO's must be appropriately restricted and controlled. For example, write access to monitored MO's should be blocked. Furthermore, the runtime environment must be restricted such that programs cannot access other resources of monitored units.
The techniques of Command Sequencer and Script MIB as described above have a few organizations, but they were never used to monitor large networks, because of the above-mentioned drawbacks.
The technique of Expression MIB as described above is less costly, less complex and easier to secure, compared with Script MIB and Command Sequencer, but the problems described above are not sufficiently reduced, which prevents this technology from being deployed in large networks with the result that the IETF does not recommend anymore to implement it.